home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2003 December / The Sunday Times - The Month 2003-12.iso / mac / The Month DEC 03 / engine / modules / preview_listen_releases.swf / scripts / frame_1 / DoAction.as < prev   
Text File  |  2003-11-10  |  6KB  |  244 lines

  1. function addLink(mc)
  2. {
  3.    Links[mc.link] = mc;
  4. }
  5. function getMCfromLink(Item)
  6. {
  7.    if(Links[Item] == null)
  8.    {
  9.       var arr = [];
  10.       while(Item != sideMenu.ItemHome)
  11.       {
  12.          arr.unshift(Item._name.split("_").pop());
  13.          Item = Item._parent._parent;
  14.       }
  15.       var str = arr.join("/");
  16.       Links[Item] = Links[str];
  17.    }
  18.    return Links[Item];
  19. }
  20. function removeLinkListener()
  21. {
  22.    Tardis.sideMenu.EB.removeListener(this);
  23. }
  24. function init()
  25. {
  26.    var strID = Tardis.ActiveSection.id;
  27.    var Colors = Tardis.Colors;
  28.    strSECTION_COLOR = Colors.getString(strID);
  29.    SECTION_COLOR = Colors.getHex(strID);
  30.    strSECTION_COLOR50 = Colors.getString(strID + "50");
  31.    SECTION_COLOR50 = Colors.getHex(strID + "50");
  32.    DEFAULT_COLOR = Colors.getHex("default");
  33.    DEFAULT_COLOR50 = Colors.getString("default50");
  34.    if(nodeData.attributes.ignoremenu == "true")
  35.    {
  36.       trace("preview_listen -> ignoring link rollovers due to XML flag");
  37.       removeLinkListener();
  38.    }
  39.    ndItems = nodeData.byName("items");
  40.    loadFader();
  41.    ndDefault = nodeData.byName("default");
  42. }
  43. function loadFader()
  44. {
  45.    trace("preview_listen_releases.loadFader()");
  46.    this.createEmptyMovieClip("mc_images",++depth);
  47.    mc_images.onReady = function()
  48.    {
  49.       trace("preview_listen_releases.mc_images.onReady()");
  50.       trace(" - loaded preview_fader module inside preview listen module");
  51.       this.onComplete = function()
  52.       {
  53.          delete this.onComplete;
  54.          this._parent.onComplete();
  55.       };
  56.       this.nodeData = this._parent.ndItems;
  57.       this.strPathPrefix = this._parent.strPathPrefix;
  58.       this.init();
  59.    };
  60.    mc_images.loadMovie(strPathPrefix + Tardis.ENGINE_FOLDER + "modules/preview_fader.swf");
  61.    textID = setInterval(checkHeight,50);
  62. }
  63. function checkHeight()
  64. {
  65.    if(mc_images._height > 10)
  66.    {
  67.       RESET_POS = mc_images._height + 7;
  68.       doOut();
  69.       clearInterval(textID);
  70.    }
  71. }
  72. function clearFader()
  73. {
  74.    removeMovieClip("mc_images");
  75.    loadFader();
  76.    mc_images.clearUp();
  77. }
  78. function exit()
  79. {
  80.    delete ndItems;
  81.    delete ndDefault;
  82.    delete nodeData;
  83. }
  84. function doOver(num)
  85. {
  86.    if(!(num == undefined || num == null))
  87.    {
  88.       if(num == "default")
  89.       {
  90.          populateRollText(ndDefault);
  91.       }
  92.       else
  93.       {
  94.          var node = ndItems.childNodes[num];
  95.          populateRollText(node);
  96.          mc_images.doOver(num);
  97.       }
  98.    }
  99. }
  100. function doOut(num)
  101. {
  102.    populateRollText(ndDefault);
  103.    if(num != "default")
  104.    {
  105.       mc_images.doOut(num);
  106.    }
  107. }
  108. function doPromoOver()
  109. {
  110.    promoMC.gotoAndStop("on");
  111. }
  112. function doPromoOut()
  113. {
  114.    promoMC.gotoAndStop("off");
  115. }
  116. function promoUp()
  117. {
  118.    Tardis.sideMenu.doPromoUp();
  119. }
  120. function promoOver()
  121. {
  122.    promoMC.gotoAndStop("on");
  123.    Tardis.sideMenu.doPromoOver();
  124. }
  125. function promoOut()
  126. {
  127.    promoMC.gotoAndStop("off");
  128.    Tardis.sideMenu.doPromoOut();
  129. }
  130. function populateRollText(node)
  131. {
  132.    var promo = false;
  133.    removeMovieClip("promoMC");
  134.    titleFF.htmlText = "";
  135.    title2FF.htmlText = "";
  136.    bodyFF.htmlText = "";
  137.    TEXT_POS = RESET_POS;
  138.    if(node.byName("title").getText() != null || node.byName("title2").getText() != null || node.byName("title3").getText() != null)
  139.    {
  140.       var strTitle = "<FONT COLOR=\"" + strSECTION_COLOR + "\">" + node.byName("title").getText() + " </FONT>";
  141.       strTitle += "<FONT COLOR=\"" + strSECTION_COLOR50 + "\"> " + node.byName("title2").getText() + "</FONT>";
  142.       strTitle += "<FONT COLOR=\"" + DEFAULT_COLOR50 + "\"> " + node.byName("title3").getText() + "</FONT>";
  143.       titleFF.htmlText = strTitle;
  144.       titleFF.resize();
  145.       titleFF._y = TEXT_POS;
  146.       TEXT_POS += titleFF._height - 6;
  147.    }
  148.    if(node.byName("byline").getText() != null)
  149.    {
  150.       title2FF.htmlText = node.byName("byline").getText();
  151.       title2FF.textColor = DEFAULT_COLOR;
  152.       title2FF.resize();
  153.       title2FF._y = TEXT_POS;
  154.       TEXT_POS += title2FF._height - 9;
  155.    }
  156.    if(node.byName("body").getText() != null)
  157.    {
  158.       bodyFF.htmlText = node.byName("body").getText();
  159.       bodyFF.textColor = DEFAULT_COLOR;
  160.       bodyFF.autosize = true;
  161.       bodyFF._y = TEXT_POS;
  162.    }
  163.    var ndPromo = node.byName("promotion");
  164.    if(ndPromo.byName("byline2").getText() != null)
  165.    {
  166.       attachMovie("promoMC2","promoMC",++depth);
  167.       promoMC._x = 9;
  168.       promoMC._y = 344;
  169.       promo = true;
  170.    }
  171.    else if(ndPromo.byName("title").getText() != null || ndPromo.byName("byline").getText() != null)
  172.    {
  173.       attachMovie("promoMC1","promoMC",++depth);
  174.       promoMC._x = 9;
  175.       promoMC._y = 359;
  176.       promo = true;
  177.    }
  178.    if(promo)
  179.    {
  180.       if(ndPromo.attributes.link != null)
  181.       {
  182.          PromoMC.link = ndPromo.attributes.link;
  183.          PromoMC.navLink = true;
  184.       }
  185.       else
  186.       {
  187.          PromoMC.link = ndPromo.byName("link").getText();
  188.       }
  189.       PromoMC.promotitleFF.htmlText = ndPromo.byName("title").getText();
  190.       PromoMC.promotitleFF.textColor = SECTION_COLOR50;
  191.       PromoMC.promotitleFF.autosize = true;
  192.       PromoMC.promobylineFF._x = PromoMC.promotitleFF._x + PromoMC.promotitleFF._width;
  193.       PromoMC.promobylineFF.htmlText = ndPromo.byName("byline").getText();
  194.       PromoMC.promobylineFF.textColor = SECTION_COLOR50;
  195.       PromoMC.promobylineFF.autosize = true;
  196.       if(ndPromo.byName("byline2").getText() != null)
  197.       {
  198.          PromoMC.promobyline2FF.htmlText = ndPromo.byName("byline2").getText();
  199.          PromoMC.promobyline2FF.textColor = DEFAULT_COLOR;
  200.       }
  201.       else
  202.       {
  203.          PromoMC.promobyline2FF._height = 0;
  204.       }
  205.       PromoMC.btn._width = PromoMC.promobylineFF._width + PromoMC.promotitleFF._width;
  206.       PromoMC.btn._height = PromoMC._height + PromoMC.promobyline2FF._height;
  207.    }
  208.    else
  209.    {
  210.       PromoMC.btn.enabled = false;
  211.    }
  212. }
  213. function txtOver(mc)
  214. {
  215.    Tardis.sideMenu.doOver(mc.link);
  216. }
  217. function txtOut(mc)
  218. {
  219.    Tardis.sideMenu.doOut(mc.link);
  220. }
  221. function txtUp(mc)
  222. {
  223.    if(mc.navLink)
  224.    {
  225.       Tardis.sideMenu.doUp(mc.link);
  226.    }
  227.    else
  228.    {
  229.       Tardis.webPageOpen(mc.link,"_blank");
  230.    }
  231. }
  232. Links = {};
  233. Tardis.sideMenu.EB.addListener(this);
  234. _parent.preview = this;
  235. depth = 0;
  236. this.onUnload = function()
  237. {
  238.    myPlayList.clearUp();
  239.    removeLinkListener();
  240.    clearInterval(intervalID);
  241.    this.onUnload = null;
  242. };
  243. var nmLastCover = -1;
  244.